/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package punto;

import java.util.Scanner;

/**
 *
 * @author a2pc08
 */
public class Punto
{

    private double x;
    private double y;

    public Punto()
    {
        x = 0;
        y = 0;
    }

    public Punto(double vx, double vy)
    {
        x = vx;
        y = vy;
    }

    @Override
    public String toString()
    {
        String cadena = "\n\rCordenadas del punto:" + "(" + x + ")(" + y + ")\n\r";
        return cadena;
    }

    /**
     * @return the x
     */
    public double getX()
    {
        return x;
    }

    /**
     * @param x the x to set
     */
    public void setX(double x)
    {
        this.x = (double) x;
    }

    /**
     * @return the y
     */
    public double getY()
    {
        return y;
    }

    /**
     * @param y the y to set
     */
    public void setY(double y)
    {
        this.y = (double) y;
    }

    public void mostrar()
    {
        System.out.println(this.toString());
    }

    public double distanciaOrigen(Punto p1)
    {
        Punto origen = new Punto();
        double resultado = 0;
        obtenerDatos(p1);
        origen.x = 0;
        origen.y = 0;
        p1.mostrar();
        resultado = Math.sqrt(Math.exp((origen.x - p1.x)) + Math.exp(origen.y - p1.y));
        return resultado;
    }

    public double distanciaPuntos(Punto p1, Punto p2)
    {
        double resultado = 0;
        obtenerDatos(p1,p2);
        p1.mostrar();
        p2.mostrar();
        resultado = Math.sqrt(Math.exp((p1.getX() - p2.getX())) + Math.exp(p1.getY() - p2.getY()));
        return resultado;
    }

    public double distanciaPuntos(Punto p2)
    {
        double resultado = 0;
        obtenerDatos(p2);
        p2.mostrar();
        resultado = Math.sqrt(Math.exp((this.getX() - p2.getX())) + Math.exp(this.getY() - p2.getY()));
        return resultado;
    }
    /* public int calcularCuadrante()
    {

    }*/

    public Punto calcularMasCercano(Punto[] otrosPuntos)
    {
        Punto retorno = new Punto();

        for (int i = 0; i < otrosPuntos.length; i++)
        {
        }
        return retorno;
    }

    public void obtenerDatos(Punto pt1, Punto pt2)
    {
      Scanner lector = new Scanner(System.in);
      lector.useDelimiter("\n");
      System.out.print("Introduzca X Punto 1: ");
      pt1.setX(lector.nextDouble());
      System.out.print("Introduzca Y Punto 1: ");
      pt1.setY(lector.nextDouble());
      System.out.print("Introduzca X Punto 2: ");
      pt2.setX(lector.nextDouble());
      System.out.print("Introduzca Y Punto 2: ");
      pt2.setY(lector.nextDouble());
      
    }
    public void obtenerDatos(Punto pt1)
    {
      Scanner lector = new Scanner(System.in);
      lector.useDelimiter("\n");
      System.out.print("Introduzca X Punto 1: ");
      pt1.setX(lector.nextDouble());
      System.out.print("Introduzca Y Punto 1: ");
      pt1.setY(lector.nextDouble());
      

    }
}
